import request from '@/utils/request'

// 负责角色模块前后端交互(异步请求的发送)

// 定义SysAdmin.vue组件中[查询角色树结构]的请求
export function roleTreeselect() {
  return request({
    url: '/role/list',
    method: 'get'
  })
}

// 为用户分配角色
export function toAdminAssignRole(data) {
  return request({
    url: '/role/assignRole',
    method: 'post',
    data
  })
}

// 通过操作员ID查询该操作员所拥有的角色列表
export function getAdminRoleList(adminId) {
  return request({
    url: `/role/getAdminRoleList/${adminId}`,
    method: 'get'
  })
}

// 查询t_role角色表的分页列表信息
export function pageRoleList(query) {
  return request({
    url: '/role/pageRoleList',
    method: 'get',
    // get请求时，其请求参数名为params，而post请求时，参数名为data
    params: query
  })
}

// 通过角色id和权限id，从t_menu_role删除这个角色id所对应的权限
export function delMenuByRoleId(query) {
  // 从query查询参数中解构出roleId角色id，menuId权限id
  const { roleId, menuId } = query
  return request({
    url: `/role/delMenuByRoleId/${roleId}/${menuId}`,
    method: 'get'
  })
}

// 保存新增的角色信息
export function saveRole(data) {
  return request({
    url: '/role/saveRole',
    method: 'post',
    data
  })
}

// 定义SysRole.vue组件中通过操作员id查询角色详情对象信息
export function findByRoleId(roleId) {
  return request({
    url: `/role/getById/${roleId}`,
    method: 'get'
  })
}

// 定义SysRole.vue组件中通过角色ID删除角色信息的方法
export function delRoleByRoleId(roleId) {
  return request({
    url: `/role/delRole/${roleId}`,
    method: 'get'
  })
}

// 定义SysRole.vue组件中保存修改后的角色信息的方法
export function updateRole(data) {
  return request({
    url: '/role/updateRole',
    method: 'post',
    data
  })
}

// 定义SysRole.vue组件中为角色分配多个菜单权限的方法
export function assignMenu(data) {
  return request({
    url: '/role/assignMenu',
    method: 'post',
    data
  })
}
